var mensagens;

$(document).ready(function() {

    obterMensagens();

    function obterHash() {
        return hash;
    };
    
    function obterMensagens() {

        if (!mensagens) {
            var request = $.ajax({
                type: "GET",
                url: "http://"+webservice+"/mensagens/" + obterHash(),
                dataType: 'json'
            });
            request.done(function(data) {
                if (data && !data.expirou) {
                    mensagens = data.values;
                    atualizarMensagens()
                } else {
                    $.mobile.navigate('index.html');
                }
            });
            request.fail(function(jqXHR, status, exception) {
                console.log(jqXHR);
                console.log(status);
                console.log(exception);
                $.mobile.navigate('index.html');
            });
        } else {
            atualizarFrequencia();
        }
    };

    function atualizarMensagens() {
        var html = '';
        
        for (var i in mensagens) {
            html += '<li data-icon="false"><a href="#" class="mostrarMensagem" id=' + mensagens[i].id + '>' + mensagens[i].tipo+' '+mensagens[i].data+ '</a></li>';
        }

        $('#listMensagens').html(html);
        $('.mostrarMensagem').click(function() {
            var idMensagem = $(this).attr('id');
            $("#idMensagem").val(idMensagem);
            obterMensagem(idMensagem);
            $.mobile.navigate('#mensagem');
        });
        $("#listMensagens").listview('refresh');
    };

    function mostrarMensagem(mensagem) {
        
        $('#titulo').html(mensagem.titulo);
        $('#corpoMensagem').html(mensagem.mensagem);
        $('#remetente').html(mensagem.remetente);

    };

    function obterMensagem(idMensagem) {
        var request = $.ajax({
            type: "GET",
            url: "http://"+webservice+"/mensagens/mensagem/" + idMensagem + '/' + obterHash(),
            dataType: 'json'
        });
        request.done(function(data) {
            var vazio = $.isEmptyObject(data.value);
            
            console.log(data.value);
            
            if (!vazio && !data.expirou) {
                mostrarMensagem(data.value);
            } else if(vazio){ 
                $.mobile.navigate('#mensagemPopup');
            }else
                $.mobile.navigate('index.html');
        });
        request.fail(function(jqXHR, status, exception) {
            console.log(jqXHR);
            console.log(status);
            console.log(exception);
            $.mobile.navigate('index.html');
        });
    };
});